package com.doit.day01

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author:
 * @WX: 17710299606
 * @Tips: 学大数据 ,到多易教育
 * @DOC: https://blog.csdn.net/qq_37933018?spm=1000.2115.3001.5343
 * @Description:
 */
object Demo04MakeRDDCollection {
  def main(args: Array[String]): Unit = {
       val  conf  = new SparkConf()
             .setMaster("local[*]")
             .setAppName(this.getClass.getSimpleName)
           val sc = SparkContext.getOrCreate(conf)

    val  ls = List[Int] (1,2,3,4,5,6)
    val rdd1: RDD[Int] = sc.makeRDD(ls)
    /**
     * makeRDD 底层调用的是 parallelize(ls , 默认切片)
     * parallelize : 参数二  指定切片数 , 分区个数  , 并行度
     * Set  Map不能直接创建 RDD 可以通过集合之间的转换实现
     */
    val rdd2: RDD[Int] = sc.parallelize(ls , 2)
    println(rdd2.getNumPartitions)
    //  Seq的子类
    val  mp = Map[String , Int]("zss"->23)
    val value: RDD[(String, Int)] = sc.makeRDD(mp.toSeq)

  }
}
